Compute-in-memory (CIM) circuits can perform certain computing operations more quickly than a conventional digital processing system, in part by reducing the memory bottleneck between memory and processing units, referred to as the von Neumann bottleneck. For this reason, CIM circuits can be used to support computing intensive applications such as machine learning and artificial intelligence.
CIM circuits perform basic matrix-vector operations within a memory array directly, eliminating the need to transfer data to a compute engine. The basic matrix-vector operations can include operations such as dot-product and absolute difference of vectors. CIM circuits based on analog operations allow for lower cost computation and higher effective memory bandwidth.
Other features of the described embodiments will be apparent from the accompanying drawings and from the detailed description that follows.